#include "pch.hpp"
#include "AbstractButton.hpp"
#include "HorizontalLayout.hpp"




AbstractButton::AbstractButton(const QString& caption, Widget* parent, Widgets::Type finalType /*= Widgets::Desktop*/)
	: Frame(parent, finalType)

#pragma warning (push)
#pragma warning (disable: 4355)
	, m_caption(new Text(caption, this, Widgets::Text))
#pragma warning (pop)
{
	if(finalType == type())
		updateStyle();

	LayoutPtr layout = setLayout(LayoutPtr(new HorizontalLayout(this)));
	layout->add(m_caption);
}
///////////////////////////////////////////////////////////////////////////////////////////////////

AbstractButton::~AbstractButton()
{}
///////////////////////////////////////////////////////////////////////////////////////////////////




QString AbstractButton::caption() const
{
	return m_caption->text();
}
///////////////////////////////////////////////////////////////////////////////////////////////////

void AbstractButton::setCaption(QString caption)
{
	m_caption->setText(caption);
	setClientSize(m_caption->size());
	setMinimumSize(size());
}
///////////////////////////////////////////////////////////////////////////////////////////////////




Widgets::Type AbstractButton::type() const
{
	return Widgets::AbstractButton;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
